import request from '@/utils/request'

/**
 * 查询字典类型列表
 * @param {Object} query - 查询参数
 * @returns {Promise} 返回查询结果的Promise对象
 */
export function listType(query) {
  return request({
    url: '/system/dict/type/list',
    method: 'get',
    params: query
  })
}

/**
 * 查询字典类型详细信息
 * @param {string|number} dictId - 字典类型ID
 * @returns {Promise} 返回字典类型详细信息的Promise对象
 */
export function getType(dictId) {
  return request({
    url: '/system/dict/type/' + dictId,
    method: 'get'
  })
}

/**
 * 新增字典类型
 * @param {Object} data - 字典类型数据
 * @returns {Promise} 返回新增结果的Promise对象
 */
export function addType(data) {
  return request({
    url: '/system/dict/type',
    method: 'post',
    data: data
  })
}

/**
 * 修改字典类型
 * @param {Object} data - 字典类型数据
 * @returns {Promise} 返回修改结果的Promise对象
 */
export function updateType(data) {
  return request({
    url: '/system/dict/type',
    method: 'put',
    data: data
  })
}

/**
 * 删除字典类型
 * @param {string|number} dictId - 字典类型ID
 * @returns {Promise} 返回删除结果的Promise对象
 */
export function delType(dictId) {
  return request({
    url: '/system/dict/type/' + dictId,
    method: 'delete'
  })
}

/**
 * 刷新字典缓存
 * @returns {Promise} 返回刷新结果的Promise对象
 */
export function refreshCache() {
  return request({
    url: '/system/dict/type/refreshCache',
    method: 'delete'
  })
}

/**
 * 获取字典选择框列表
 * @returns {Promise} 返回字典选择框列表的Promise对象
 */
export function optionselect() {
  return request({
    url: '/system/dict/type/optionselect',
    method: 'get'
  })
}

